﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BusinessLogic;
using System.Text.RegularExpressions;

namespace Interface.Users
{
    public partial class Register : System.Web.UI.Page
    {
        StoreProcedures sp = new StoreProcedures();
        DataConnection dc = new DataConnection();
        protected void Page_Load(object sender, EventArgs e)
        {
            loadDate();
            loadMonth();
            loadYear();
        }

        protected void loadDate()
        {
            for (int i = 1; i <= 31; i++)
            {
                ddlDate.Items.Add(i.ToString());
            }
        }

        protected void loadMonth()
        {
            for (int i = 1; i <= 12; i++)
            {
                ddlMonth.Items.Add(i.ToString());
            }
        }

        protected void loadYear()
        {
            for (int i = 1900; i <= 2050; i++)
            {
                ddlYear.Items.Add(i.ToString());
            }
        }



        protected void ibRegister_Click(object sender, ImageClickEventArgs e)
        {
            if (txtUser.Text == string.Empty)
            {
                lblMs.Text = "Bạn chưa điền tên tài khoản";
                return;
            }
            if (dc.checkUsername(txtUser.Text) == true)
            {
                lblMs.Text = "Tên tài khoản đã tồn tại, bạn vui lòng chọn tên khác";
                return;
            }
            if (txtPass.Text == string.Empty)
            {
                lblMs.Text = "Bạn chưa nhập password";
                return;
            }
            if (txtRePass.Text != txtPass.Text)
            {
                lblMs.Text = "Mật khẩu không trùng khớp";
                return;
            }
            Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
            Match match = regex.Match(txtEmail.Text);
            if (txtEmail.Text == string.Empty || (!(match.Success)))
            {
                lblMs.Text = "Bạn chưa nhập email hoặc email ko hợp lệ";
                return;
            }


            if (txtFullname.Text == string.Empty)
            {
                lblMs.Text = "Bạn chưa nhập tên của bạn";
                return;
            }

            string strDate = ddlDate.SelectedItem.Value;
            string strMonth = ddlMonth.SelectedItem.Value;
            string strYear = ddlYear.SelectedItem.Value;
            int currYear = Convert.ToInt32(DateTime.Now.Year);
            int age = currYear - Convert.ToInt32(strYear);
            if (age < 15)
            {
                lblMs.Text = "Tuổi phải từ 15 trở lên";
                return;
            }
            if (txtPhone.Text == string.Empty)
            {
                lblMs.Text = "Bạn chưa nhập số điện thoại";
                return;
            }
            if (txtAdd.Text == string.Empty)
            {
                lblMs.Text = "Bạn chưa nhập địa chỉ";
                return;
            }
            if (txtAnswer.Text == string.Empty)
            {
                lblMs.Text = "Bạn chưa nhập câu trả lời";
                return;
            }
            string username = txtUser.Text;
            string password = txtPass.Text;
            string rePass = txtRePass.Text;
            string email = txtEmail.Text;
            string fullName = txtFullname.Text;
            string strGender = ddlGender.SelectedItem.ToString();
            int intGender = strGender == "Nam" ? 1 : 0;
            
            string birthday = strMonth+"-"+strDate+"-"+strYear;
            string memType = ddlMemType.SelectedItem.ToString();
            string phoneNo = txtPhone.Text;
            string add = txtAdd.Text;
            string question = ddlQuestion.SelectedItem.ToString();
            string answer = txtAnswer.Text;

            sp.insertUser(username, password, email, fullName, intGender, birthday, memType, phoneNo, add, question, answer);
            Response.Redirect("Successful.aspx");
        }

        protected void ibCancel_Click(object sender, ImageClickEventArgs e)
        {
            txtUser.Text = string.Empty;
            txtPass.Text = string.Empty;
            txtRePass.Text = string.Empty;
            txtEmail.Text = string.Empty;
            txtFullname.Text = string.Empty;
            ddlGender.SelectedIndex = 0;
            ddlMemType.SelectedIndex = 0;
            txtPhone.Text = string.Empty;
            txtAdd.Text = string.Empty;
            ddlQuestion.SelectedIndex = 0;
            txtAnswer.Text = string.Empty;
        }

        
    }
}